//package com.sig.calcul;
//
//import java.util.ArrayList;
//import java.util.List;
//
//import android.util.Log;
//
//import com.sig.load.LoadPolygon;
//import com.sig.models.Bounds;
//import com.sig.models.Noeud;
//import com.sig.models.Point;
//import com.sig.models.Segment;
//import com.sig.xmlconfg.ConfigXML;
//
//public class GeoToCartesien {
//	/**
//	 * @param earth radius
//	 */
//	private static double R=6.371; //km
//	private static double RATIO=1000;
//	int count=0;
//	
//	/**
//	 * @param cartesian coords
//	 * 			
//	 */
//	private double x,y,z; 
//	
//	/**
//	 * @param the config XML for data
//	 */
//	public ConfigXML configXML;
//	
//	
//	public float [] segment;
//	public float [] boundsCoords;
//	
//	public GeoToCartesien() {
//		
//	}
//
//	public double geoToX(double lat,double lon){
//		x=-R* Math.cos(lat)*Math.cos(lon);		
//		return x;
//	}
//	
//	public double geoToY(double lat,double lon){
//		y=R* Math.cos(lat)*Math.sin(lon);	
//		return y;
//	}
//	
//	public double geoToZ(double lat,double lon){
//		z=R* Math.sin(lat);	
//		return z;
//	}
//	
//	public float geoLon(float lon){		
//	    float LON = (float) (lon * Math.PI/180);
//		return LON;
//	}
//	
//	public float geoLat(float lat){
//		float LAT = (float) (lat * Math.PI/180);
//		return LAT;
//	}
//	
//	/**
//	 * 
//	 * @param conf
//	 * @return Calcul en km, 
//	 */
//	public float[] calculate(ConfigXML conf){
//		int count=0;
//		segment=new float[3*1000];
//		List<Segment> listeSegment=new ArrayList<Segment>();
//		listeSegment=conf.getListeSegmentXML();
//		for(Segment seg:listeSegment){
//			for(Noeud n:seg.getListeNode()){
//				segment[count]=(float) (this.geoToX(n.getLat(), n.getLon())/RATIO);
//				segment[count+1]=(float) (this.geoToY(n.getLat(),n.getLon())/RATIO);
//				segment[count+2]=(float) 1.0;
//				count=count+3;
//			}
//		}
//		return segment;
//	}
//	
//	/**
//	 * 
//	 * @param lp, P.x: longitude, P.y:latitude
//	 * @return
//	 *  	LAT = latitude * pi/180
//    		LON = longitude * pi/180
//    		x = -R * cos(LAT) * cos(LON)
//    		y =  R * sin(LAT) 
//    		z =  R * cos(LAT) * sin(LON)
//	 */
//	public float[] loadpolygon(LoadPolygon lp){
//		
//		segment=new float[3*10000];
//		List<List<Point>> data=(List<List<Point>>)lp.getListePolygons();
//		for(List<Point> listpoint:data){
//			for(Point p:listpoint){
//				segment[count]=(float) p.getX();//(this.geoToX(geoLat(p.getY()), geoLon(p.getX())));
//				segment[count+1]=(float) p.getY();//(this.geoToY(geoLat(p.getY()),geoLon(p.getX())));
//				segment[count+2]=(float) 1.0f;//(this.geoToZ(geoLat(p.getY()),geoLon(p.getX())));;
//				
//				Log.d("CARTESIEN_TAGX", ""+segment[count]);
//				Log.d("CARTESIEN_TAGY", ""+segment[count+1]);
//				Log.d("CARTESIEN_TAGZ", ""+segment[count+2]);
//				count=count+3;
//			}
//		}
//		Log.d("COUNTTTTTTT", ""+getCount()/3);
//		return segment;
//	}
//	
//	public int getCount(){
//		return count;
//	}
////	
////	public float[] calculateBounds(ConfigXML conf){
////		int count=0;
////		Bounds b=conf.getBounds();
////		boundsCoords=new float[6];
////		boundsCoords[count]=(float) (this.geoToX(b.getMinLat(), b.getMinLon())/RATIO);
////		boundsCoords[count+1]=(float) (this.geoToY(b.getMinLat())/RATIO);
////		boundsCoords[count+2]=(float) 1.0;
////		
////		boundsCoords[count+3]=(float) (this.geoToX(b.getMaxLat(),b.getMaxLon())/RATIO);
////		boundsCoords[count+4]=(float) (this.geoToY(b.getMaxLat())/RATIO);
////		boundsCoords[count+5]=(float) 1.0;
////
////
////		return boundsCoords;
////	}
//
//}
